package flowise.service;

import flowise.entity.NodeDataFromComponent;
import flowise.entity.NodeOutputsValue;
import flowise.entity.NodeParams;

import java.util.List;
import java.util.Map;

/**
 * @author huangya
 * @date 2024/1/28
 */
public abstract class INode {

    protected List<NodeParams> inputs;
    protected List<NodeOutputsValue> outputs;

    void upsert(NodeDataFromComponent nodeData, Map<String, Object> options){

    }

    Object search(NodeDataFromComponent nodeData, Map<String, Object> options){
        return null;
    }

    void delete(NodeDataFromComponent nodeData, Map<String, Object> options){

    }

    Object clearSessionMemory(NodeDataFromComponent nodeData, Map<String, Object> options){
        return null;
    }

    String getChatMessages(NodeDataFromComponent nodeData, Map<String, Object> options){
        return null;
    }

    Object init(NodeDataFromComponent nodeData, String input, Map<String, Object> options){
        return null;
    }

    Object run(NodeDataFromComponent nodeData, String input, Map<String, Object> options){
        return null;
    }

}
